r28
r12
1[목차]
r27
2설치가 어려운 Arch Linux의 설치 방법을 정리해 두었다. [[https://wiki.archlinux.org/title/Installation_guide|최신 정보는 여기에서 확인 가능하다.]][* 한국어 번역이 처참해서 그냥 번역기 쓰는 것이 더 좋다.]
r5
3== 쉬운 방법? ==
r27
4쉽게 설치하려면 Archinstall를 이용하거나, EndeavourOS, Manjaro Linux같은 쉬운 설치를 지향하는 Arch 파생 베포판을 사용하자.
5
6또한 설치중 파티션을 건드려야하는 등, 잘못하면 시스템이 날아갈 수도 있으니 미리 가상머신 등에서 미리 도전해보자.[* 보안부팅은 끄자]
r1

(새 문서)
7== 설치 환경 부팅하기 ==
r27
8[[https://archlinux.org/download/#download-mirrors|다운로드 주소]]
9여기서 ctrl + F로 자신이 살고 있는 나라를 검색하자.[* 사실 다른 것을 골라도 상관 없지만 속도가 느리다] 여기에서 iso 파일을 다운로드 하자. 가능하면 체크섬도 다운로드하여 파일을 검증하면 좋다. [* 파일 변조를 방지하기 위해서이다.]
r1

(새 문서)
10=== Windows ===
r3
11Windows 유저라면 [[https://rufus.ie/ko/|rufus]]를 다운받아 열면 된다. 창이 뜨면 장치 항목에 usb 목록이 뜨는데 필요 없는[* iso를 적용시키기 전에 데이터를 포멧해야하기 때문] 장치를 선택하고 부트 유형 항목에서 디스크 또는 ISO 선택 (please select)를 선택 후, 오른쪽에 있는 선택 버튼을 눌러 아까 다운로드 받은 iso파일을 선택한다.
r1

(새 문서)
12
13확인하고 선택 후에, 시작 버튼을 누른다. 이때 파일 기반으로 할지, dd이미지 모드로 쓸 지 선택하는 창이 뜨는데, dd를 선택한다.
14
15이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다.
r14
16[[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]]
r27
17=== Linux[anchor(리눅스)] ===
r19
18~~어쩌피 다 알잖아요~~
19
r27
20coreutils 페키지가 있어야한디.[* cat있으면 대부분 다 깔려있다.]
21
22터미널 에뮬레이터 혹은 bash를 사용해 lsblk를 입력하여 USB의 블럭 디바이스 확인.[* 아마 /dev/sd* 형태일 것이다.][* 햇갈리면 직접 마운트 해보자]
r20
23{{{#!syntax shell
24sudo dd if=<아까 받은 iso 파일> of=<블럭 디바이스 주소> bs=4M status=progress oflag=sync
25sync
26}}}를 입력하면 된다.
r1

(새 문서)
27
28이제 펌웨어에서 부팅 항목에서 아까 만든 USB를 선택하면 부팅이 된다.
29[[#부팅후|부팅 후에 해야할 작업은 여기를 참조해주세요]]
30=== MacOS ===
r27
31=== FreeBSD, NetBSD등 UNIX계열 OS[* 놀랍게도 리눅스는 Unix계열이 아니다.] ===
32[[#리눅스|커널이 아닌 OS기 때문에 Coreutils가 이미 있을 것이다.]]
r1

(새 문서)
33== 인터넷 연결[anchor(부팅후)] ==
34렌선을 사용중이라면 대부분 따로 셋팅은 안해도 된다. Wifi를 사용중이라면 iwd의 iwctl을 이용하여 연결 하자.
35
r27
36iwctl을 입력하여 iwctl을 킨 후, station list를 이용해 네트워크 디바이스를 찾은 후(대부분 wlan0이라는 이름을 갖고 있음) station <디바이스> connect[* 숨겨진 네트워크라면 connect-hidden] <wifi 이름>을 입력후, 비밀번호가 있으면 비밀번호를 입력후에 quit을 쳐서 빠져나오자.
r1

(새 문서)
37
r27
38ping 8.8.8.8로 인터넷 연결을 테스트 할 수 있다.[* 근데 ~~그럴 일은 없지만~~ 구글 dns서버가 터지는 경우도 있으니, 0.0.0.0같은 다른 dns서버에도 핑을 날려보자]
r1

(새 문서)
39== 파티션 만들기 ==
40fdisk <설치할 장치의 경로>를 입력해 fdisk를 킨다.[* lsblk를 입력하여 참고하자]
41
42기존에 있는 파티션을 줄이거나[* EFI 1G, swap은 인터넷에 검색하며 알맞은 크기를 고르고, 루트 파티션도 자신이 필요한 만큼 고르자. 그리고 그만큼 기존 파티션을 줄이면 된다.] g, [*주의 {{{#red 데이터를 초기화 시키는 방법이니, 새 하드가 아니라면 사용하진 말자. 또한( 만약 사용했다면 q를 눌러서 빠져나오면 괜찮다. 아직 실제로 디스크에 쓰지 않았기 때문}}}](GPT, UEFI), o[*주의](MBR, BIOS)파티션을 만들 수 있게 한다.
r24
43|__'''파티션 레이아웃 추천'''__| EFI 파티션 || 루트 파티션 || Swap 파티션 ||
44|| 약 1G || 나머지 || 자신의 램의 크기 ||
r4
45
r22
46n을 입력하면 파티션을 만들 수 있다. 참고로 파티션의 끝을 할 때 +1G같이 상대적인 위치를 기반으로 정할 수도 있으니 참고 또한 이때 아무것도 입력하지 않고 엔터를 누르면 최대 크기로 파티션을 만들 수도 있다.
r7
47
r1

(새 문서)
48p를 눌러 알맞은 파티션 레이아웃인지 확인 후, w를 입력해 디스크에 쓰자.
r4
49
r27
50이러한 cli툴이 어렵다면 Windows환경에서 Win + X를 눌러 디스크 관리에서 편집하거나, Linux 그레픽 환경이라면 Gparted, TUI 인터페이스를 원하면 cfdisk[* Arch Installation Media에 내장]를 사용하는 것을 추천한다.~~fdisk 나만쓰지...~~
r1

(새 문서)
51== 파일 시스템 만들기 ==
r23
52mkfs.fat -F 32 <아까 만든 1G짜리 파티션>[* fdisk에서 p를 입력 시, 경로를 확인 가능하다.]를 입력하자.[*UEFI라면 시스템이 UEFI일 시에만 이 명령어를 실행하자]
r4
53
r1

(새 문서)
54mkfs.swap <스왑 파티션 주소>를 입력해 SWAP 파티션을 포멧한다.
r2
55
r27
56mkfs.ext4 <루트 파티션>을 입력해 루트 파티션을 포맷하자.[* Windows와의 호환을 원한다면 fat계열 혹은 ntfs로 포멧도 고려해보자 ~~둘다 마소에서 만들었거든... fat은 빌게이츠가. 무려.~~]
r2
57== 파일 시스템 마운트 ==
58mount /mnt <루트>
59mount /mnt/boot <EFI 파티션> --mkdir[*UEFI라면]
60swapon <swap 파티션>
61== pacstrap ==
62pacstrap -K /mnt base linux linux-firmware
63라는 명령어로 기본적인 페키지를 설치한다.
64== fstab ==
r4
65genfstab -u >> /mnt/etc/fstab
66Fstab은 부팅 작업중에 디스크를 마운트 할 때 참조되는 파일인데, 결함이 있거나 없으면 부팅시 emergency 모드로 진입하니 주의.
r2
67== chroot ==
r27
68arch-chroot /mnt를 입력해 아까 설치한 아치리눅스에 진입하여 더 많은 작업을 해준다. chroot를 안 쓰는 이유는 arch-chroot는 dev(ice), proc(ess)등 가상 파티션을 한꺼번에 마운트해주기 때문.
r4
69
r2
70먼저 필요한 페키지를 설치한다.
r4
71pacman -S vim bash-completion less sudo grub[*멀티부트] os-prober[*멀티부트] iwd(wifi) dhcpcd efibootmgr(UEFI)
72 * vim 텍스트 에디터. 익숙하지 않으면 nano 쓰는 것을 추천한다.
r27
73 * bash-completion tap눌러서 명령어 자동완성 해주는 그거 맞다.[* bash 싫으면 zsh + ohmyzsh도 좋다]
74 * less cli 환경에서 유용하게 쓰인다. 너무 길어서 stdout이 잘리는 프로그렘 옆에 cat a.txt | less처럼 파이프라인을 연결해서 활용이 가능하다.
r25
75 * sudo ~~Suit Up and DO~~ 권한상승 프로그램 최근에 보안 취약점이 발견되서인지는 몰라도, rust로 만든 sudo-rs가 나왔다.
r27
76 * grub 멀티부팅 지원 부트로더. 멀티부팅 안할거면 LILO[* MBR], SystemDboot도 나쁘지 않은 선택. 이쁜 테마그 많다.
r4
77 * os-prober 멀티부팅 시, grub 설정을 더 편하게 만들어주는 프로그렘
r27
78 * iwd wifi 쓸 시 필요. networkmanager라는 대채품이 있다.[* plasma 쓸 예정이라면 iwd 대신 이걸 쓰자] dhcpcd랑 같이 쓰는 것을 추천한다.
r4
79=== 부트로더 ===
80==== GRUB ====
81UEFI의 경우:
r15
82grub-install --efi-directory=/mnt/boot
83레거시의 경우:
r4
84grub-install --boot-directory=/mnt/boot
85
86usr/bin/grub-mkconfig를 편집하여 GRUB_DISABLE_OS_PROBER를 false로 바꾸고
87
88grub-mkconfig -o /boot/grub/grub.cfg를 실행하여 설정 파일을 만든다.
89==== SystemD boot ====
r27
90bootctl install
91따로 뭐 설치할 필요가 없다.
r16
92=== 나머지 ===
r27
93/etc/hostname를 수정해 컴퓨터 이름을 정하고[* 기본은 Archlinux]
r16
94
r15
95passwd를 사용하여 루트의 비번을 바꾸고
r5
96
97systemd enable로 dhcpcd, iwd 등등 여러 서비스를 활성화 한 후, exit을 입력해 빠져나온다.
r4
98== reboot ==
99이제 설치가 완료되었으니 다시시작을 해서 아치리눅스로 부팅하자. [* ctrl + alt + del 혹은 reboot 명령어 입력]
r5
100== 기본 셋팅 ==
r2
101=== 유저 추가 ===
r8
102루트로서 시스템을 운영하는 것은 큰 위험이 따르며, 임베디드 시스템 같은 특수한 경우가 아니라면 쓰지 않는 것을 추천한다. (또한 makepkg는 root로서의 실행을 거부) 이러한 문제를 해결하기 위해 사용자를 추가하고, 권한이 필요한 경우는 sudo를 사용하는 등 임시로 root로서 명령어를 실행하는 등의 사용이 추천된다.
103useradd -m <유저 이름>를 사용해 유저를 만들어 준다.
104
105passwd <유저 이름>을 사용하여 유저의 비번을 바꾼다.
106
107
108EDITOR=<vim, nano 등등> visudo를 입력하여 sudo 설정을 편집한다.
109
110<유저 이름> ALL=(ALL:ALL) ALL를 추가해주면 된다.
111=== YAY ===
112[[Arch Linux#s-5.3.1|여기 참고]]
113=== GUI ===
r27
114리눅스 환경에서 한글을 쓰려면 그레픽 환경이 (거의)필수적이다.[* jfbterm등을 쓰면 유니코드를 볼 수 있다. 근데 처다리 이런거 쓸 바에 X랑 Xterm[* 터미널] 같이 사용하는게 더 나은게, 둘이서 하는 것이 비슷하지만 X가 기능이 더 많고 윈도우 메니저도 있고 한글 입력도 되고 리눅스의 모든 GUI프로그렘이 X를 사용한다는 전제 하에 만들어졌기 때문이다. ] 디스플레이 서버로는 Xorg, Wayland정도가 있고, Desktop Environmant로는 plasma, Xfce, gnome, cinnamon, i3(wm) 등이 있다.
r26
115==== 한글 입력(Xorg) ====
116한글 입력은 ibus, ibus-hangul을 많이쓴다. 옛날에 Wayland 환경에서는 특정 프레임워크를 쓰는 엡에서는 입력이 힘들었었다.
117
118Pacman으로 ibus와 ibus-hangul을 설치 후, .xprofile[* ~/.xprofile]을{{{
119export GTK_IM_MODULE=ibus
120export QT_IM_MODULE=ibus
121export XMODIFIERS=@im=ibus
122ibus-daemon -drx}}}로 수정 후 다시 로그인 한다.[* 인터넷 보면 .bashrc에 넣으라는 말도 많이 보이는데, 셸을 bash를 쓰지 않으면 먹통일 뿐더러 X환경에 진입 후에도 어찌어찌 터미널을 켜서 bash를 켜야지 된다. .xinitrc에 넣어도 딱히 상관 없다.]
r11
123==== Plasma ====
r8
124sudo pacman -S plasma dolphin ark chromium konsole kate를 입력해 플라즈마와, GUI 엡들을 깔아준다.
r26
125 * plasma 윈도우 메니저. 기본 엡들이랑[* 근데 파일탐색기, 압축관리자, 터미널 에뮬레이터 등은 안딸려온다...] sddm이 딸려온다.
r8
126 * dolphin 파일 탐색기
127 * ark 압축파일 관리
128 * chromium 크로뮴. 크롬 확장이 호환된다. Plasma에서 만든 컨커러라는 브라우저가 있기는 한데, 찐들만 쓰는 듯 하다.
129 * konsole 터미널
130 * Kate 메모장 gedit이라는 --경젱자--대안도 있다. 이는 gnome에서 만든 것.
131
r26
132sudo systemctl enable sddm[* 컴터 시작시 자동실행 sddm이 싫으면 대안으로 lightdm을 사용 가능하다. sddm, lightdm은 로그인 화면이라 생각하면 된다.]
r8
133sudo systemctl start sddm으로 로그인 화면을 띄운다.
134
r28
135처음 plasma를 키면 한국어가 tofo로 표시될텐데, 그냥 인터넷에서 달무리, 네이버 나눔고딕코딩 등 한글 지원 폰트를 다운받아서 쓰면 된다.--뭐여 내 맑은고딕 돌려줘요--[* ms거다.]
136==== i3 ====
137[[https://i3wm.org/docs/userguide.html#_opening_terminals_and_moving_around|사용설명서]]
138진짜 간단한 윈도우 메니저. 너무 극단적으로 단순간단하여 가볍기로 소문난 xfce보다 가볍다 ~~근데 심각하게 못생겼고, 조작에 약간(?)의 제약이 있다. 그래서 gui에서 쓰는 사치가 싫은 사람에게 추천~~
139
140sudo pacman -S xorg
141sudo pacman -S i3-wm
142
143그리고 sddm, gdm, lightdm중 하나를 깔아준다 ~~사실 i3쓸정도면 lightdm을 쓰는 것을 추천한다.~~
144
145dmenu가 있어야 한다. 없으면 엡을 실행할 수 없기 때문이다(...)
146
147서비스를 키고 i3 세션을 선택한다.